import {
  get,
  post
} from "../http"
import {
  setStorageOpenid,
} from '@utils/storage_base_config'

/**
 * 获取首页、个人中心页展示数据
 */
export function getHomeData() {
  return get({
    url: '/v1/home/index',
    data: {}
  })
}

/**
 * 获取首页佣金相关数据
 */
export function getHomeSettle({
  created_at_begin,
  created_at_end,
}) {
  return get({
    url: '/v1/statistics/order_settlement_distributor',
    data: {
      is_home: 1,
      created_at_begin,
      created_at_end,
    }
  })
}

/**
 * 获取基础配置
 * @param {string} key 键值，要获取哪个就发哪个customer_service，customer_wechat, product_kind, distributor_sign_up,withdrawal_channel, distributor_sign_up, withdrawal_channel
 */
export function getConfig(key) {
  return post({
    url: '/v1/config/base',
    data: {
      key
    },
  })
}

/**
 * 获取微信签名
 */
export function getWechatApiConfig(param = {
  url, // 当前页面url
  apis, // API接口名
  debug, // 调试模式
  beta,
  json,
}) {
  return post({
    url: '/v1/config/wechatJsApiConfig',
    data: param,
  })
}

/**
 * 获取微信用户信息
 */
export function getWechatOpenid(code) {
  return new Promise((resolve, reject) => {
    get({
      url: `/v1/openid/${code}`,
    }).then(res => {
      setStorageOpenid((res.data || {}).openid)
      resolve(res)
    }).catch(reject)
  })
}

/**
 * 获取banner 
 * @param {int} position 显示位置
 */
export function getBanner(position = 1) {
  return post({
    url: '/v1/config/advertising',
    data: {
      position
    }
  })
}

/**
 * 获取最后一次使用的城市
 */
export function getLatestCity() {
  return post({
    url: '/v1/zone/latest_city'
  })
}

/**
 * 切换城市作为最后一次使用城市
 * @param {string} zone_id 切换的城市code
 */
export function setLatestCity(zone_id = '') {
  return post({
    url: '/v1/zone/change_city',
    data: {
      zone_id
    }
  })
}